package org.albianj.persistence.object;

import java.util.HashMap;

public abstract class FreeAlbianObject implements IAlbianObject {
	private static final long serialVersionUID = 1608573290358087720L;

	// private String id = "";
	private boolean isAlbianNew = true;
	protected transient HashMap<String, Object> dic = null;

	// public String getId()
	// {
	// return this.id;
	// }
	//
	// public void setId(String id)
	// {
	// this.id = id;
	// }

	/**
	 * albianj
	 * kernnel???????????????????????????????????????????????????????????
	 * ????????
	 * ??????????????albianj?????????????????????????????????????????????
	 * ??????????????????????????????????????????????????????
	 */
	@AlbianObjectMemberAttribute(IsSave=false)
	public boolean getIsAlbianNew() {
		return this.isAlbianNew;
	}

	/**
	 * albianj
	 * kernnel???????????????????????????????????????????????????????????
	 * ????????
	 * ??????????????albianj?????????????????????????????????????????????
	 * ??????????????????????????????????????????????????????
	 */
	@AlbianObjectMemberAttribute(IsSave=false)
	public void setIsAlbianNew(boolean isAlbianNew) {
		this.isAlbianNew = isAlbianNew;
	}

	@AlbianObjectMemberAttribute(IsSave=false)
	public void setOldAlbianObject(String key, Object v) {
		if (null == dic) {
			dic = new HashMap<String, Object>();
		}
		dic.put(key, v);
	}

	@AlbianObjectMemberAttribute(IsSave=false)
	public Object getOldAlbianObject(String key) {
		if (null == dic) {
			return null;
		}
		return dic.get(key);
	}

}
